@echo off&setlocal enableextensions
set mypath=%~dp0
cd %mypath%
erase auto.sts
erase auto_reset_backup.sts
erase steem.ini
erase my_xxx.ini
::=====================================================================
:: Crée un my_xxx.ini locale à partir d'une configuration générique
:: STEcol_xxx.ini avec_DisktA comme repertoire par défaut.
:: Pour activer le disque dur on doit remplacer DisableHardDrives=1 par =0
:: mais le caractère "=" ne se laisse pas remplacer.
:: On utilise donc une copie avec =0 des STNnn_xxx.ini précédées de HD_
::=====================================================================
:: DEFINIT LA MACHINE ET L'ECRAN (le reste n'a pas besoin d'être modifié)
::=====================================================================
:: Ecran:  STEmono_xxx.ini ou STEcol_xxx.ini
:: Machine: tos162fr.img (STE) ou tos100fr (ST)
:: Le reste (disques) est monté s'il y en a dans les dossiers prévus
set inixxx=STEcol_xxx.ini
set TOS=--ROM "%mypath%_TOS\tos100fr.img" 
::=====================================================================
set steemexe=Steem.exe
::set snap="%mypath%\memory snapshots\Pernoel.sts"
::=====================================================================
:: Explore _DisktA, _DisktB, _Cartouche, _HD. S'ils ne sont pas vides,
:: crée %diskA% %diskB% %cartouche% %HD% (les chemins)
::=====================================================================
set A=
for %%f in (_DisktA\*) do (set A="%mypath%%%f")	
IF %A%x == x (set diskA=) ELSE (set diskA=%A%)
set B= 
for %%f in (_DisktB\*) do (set B="%mypath%%%f")
IF %B%x == x (set diskB=) ELSE (set diskB=%B%)
set cartouche=
for /f "delims=" %%F in ('dir /b /s "%mypath%_Cartouche\*.STC" 2^>nul') do set cartouche=%%F
echo A: %diskA%
echo B: %diskB%
echo cartouche: %cartouche%
echo TOS: %TOS%
::=====================================================================
:: S'il y a un contenu dans _HD, on prend une HD_STnnn_xxx.ini
:: Cette routine detecte les dossiers vides même de sous-dossiers
::=====================================================================
set HD=%mypath%_HD\
for /F %%i in ('dir /b /a "%HD%*"') do (goto HDon)
set ini=%mypath%mykit\%inixxx%
goto Faitini
:HDon
echo Disque _HD non vide
set ini=%mypath%mykit\HD_%inixxx%

:Faitini
echo INI: %ini%
:: (Steem 3.4 va écrire sur son fichier ini, donc on le recrée à chaque fois)

copy "%ini%" "%mypath%my_xxx.ini"	
::=====================================================================
:: Crée le my.ini local à partir de la configuration générique my_xxx.ini
::===================================================================== 
:: On remplace les chemins xxx par %mypath%" sans le "\" final
Set "OldString=X:\xxxxxxx"
set "NewString=%mypath:~0,-1%"
set file="%mypath%my_xxx.ini"
set outfile="%mypath%my.ini"
(
  for /f "skip=2 delims=" %%a in ('find /n /v "" %file%') do (
    set "ln=%%a"
    setlocal enableDelayedExpansion
    set "ln=!ln:*]=!"
    if defined ln set "ln=!ln:%OldString%=%NewString%!"
    echo(!ln!
    endlocal
  )
)>%outFile%
set myini=%mypath%my.ini
erase my_xxx.ini
::=====================================================================
:: Exécution autorisée (variables nulles et non sans paramètres)
::===================================================================== 
::echo CLI: %steemexe% %cartouche% %diskA% %diskB% %TOS% INI=%myini% 
::pause
start "" %steemexe% %cartouche% %diskA% %diskB% %TOS% INI="%myini%"
exit

